Expand description

tui markup

This crate provides a markup language to quickly write colorful and styled terminal text in plain text.

I suggest to check examples/help.txt, which generated this self-describing syntax help document:

For formal syntax specification, see docs/syntax.ebnf.

How to use

let output = tui_markup::compile::<Generator>("<bg:blue,green,b hello>").unwrap();

The string wrapped in <>(like the bg:blue,green,b in above example) is called a element, start with a tag list(comma separated), those tags add styles to inner items.

Usable tags are vary depending on the the Generator you use, and generator will ignore all tags it does not understand.

So it’s better checkout their document before write your markup text.

Builtin generators

The builtin generators are under feature gates:

featureTargetgenerator type
ansiDirect print into stdout when using an asni compatible terminalANSIStringsGenerator
tuiIntegrated with the popular tui crateTuiTextGenerator

The example screenshot above is using the tui generator, print in Windows Terminal.

If you want write your own generator, please checkout documents of Generator trait.

Modules

Generator generates final output for showing.

Parsing stage of the compilation process.

Enums

Error for markup source compile pipeline.

Traits

Error with a location info.

Functions

Parse markup language source, then generate final output using the default configure of a generator type.

Parse markup language source, then generate final output using the provided generator.